import {EntityId, PageQueryParams} from "kf-web-library";
import {ActivityRegist, User_Integration} from "@/services";

export interface ActivityPageQueryParams extends Partial<PageQueryParams> {
  searchText?: string;
  ids?: EntityId[];
  type?: string;  //活动类型 ActivityType
  status?: string;  //活动状态 ActivityStatus
  registDateRange?: string[];  //注册日期范围 yyyy-MM-dd
  activityDateRange?: string[];  //活动日期范围 yyyy-MM-dd
}

export interface Activity {
  id: EntityId; //主键
  type: string; //活动类型 ActivityType
  title: string; //活动标题
  titleImg: string; //标题图片
  summary: string; //活动简介
  content: string; //活动详情，富文本框编写
  startTime: string; //活动开始时间
  closeTime: string; //活动结束时间
  registStartTime: string; //活动注册开始时间
  registCloseTime: string; //活动注册结束时间
  globalLimit: number; //活动最多允许预约的人数
  registNum: number; //已预约的人数(冗余)
  status: string; //状态 ActivityStatus
  seq: number; //排序
  createTime: string; //创建时间
  createUser: User_Integration;
  modifyTime: string; //修改时间
  modifyUser: User_Integration;

  deleted: number; //删除标记
  registList: ActivityRegist[]; //注册用户列表
}

export interface Activity_Create {
  type: string; //活动类型 ActivityType
  title: string; //活动标题
  titleImg: string; //标题图片
  summary: string; //活动简介
  content: string; //活动详情，富文本框编写
  startTime: string; //活动开始时间
  closeTime: string; //活动结束时间
  registStartTime: string; //活动注册开始时间
  registCloseTime: string; //活动注册结束时间
  globalLimit: number; //活动最多允许预约的人数
  status: string; //状态 ActivityStatus
  seq: number; //排序
}

export interface Activity_Modify extends Activity_Create {
  id: EntityId;
}

export interface Activity_Patch extends Partial<Activity_Modify> {
  id: EntityId;
}


export interface Activity_StatusModify{
  id: EntityId;
  status: string; //状态 ActivityStatus
}






